課程名稱 |
資料結構與進階程式設計 Data Structures and Advanced Program Design |
開課學期 |
111-2 |
授課對象 |
管理學院 資訊管理學系 |
授課教師 |
李根逸 |
課號 |
IM1010 |
課程識別碼 |
705 10600 |
班次 |
|
學分 |
3.0 |
全/半年 |
半年 |
必/選修 |
必帶 |
上課時間 |
星期二7,8,9(14:20~17:20) |
上課地點 |
管一104 |
備註 |
本課程中文授課,使用英文教科書。 限本系所學生(含輔系、雙修生) 總人數上限:80人 |
|
|
課程簡介影片 |
|
核心能力關聯 |
核心能力與課程規劃關聯圖 |
課程大綱
|
為確保您我的權利,請尊重智慧財產權及不得非法影印
|
課程概述 |
待補 |
課程目標 |
待補 |
課程要求 |
1) 非資管系同學,請優先考慮加簽資訊工程系的「資料結構與演算法」 (CSIE1212)。本門課原則上只加簽有修習且通過非通識非選修並以 C/C++ 教學的「程式設計」課程同學。
2) 所有作業都需要指定時間前完成繳交,遲交即為零分
3) 課程重於實作且需要自己學習怎麼除錯
4) 作業負擔較重且嚴禁抄襲代寫。 |
預期每週課後學習時數 |
依據之前同學回饋大概為 3 到 20 小時 |
Office Hours |
另約時間 |
指定閱讀 |
|
參考書目 |
[CH] Data Abstraction and Problem Solving with C++: Walls and Mirrors by Carrano and Henry, sixth edition, Pearson, 2012.
[DD] C++ How to Program: Late Objects Version by Deitel and Deitel, seventh edition, Pearson Education.
[CLRS] Introduction to Algorithms by Cormen, Leiserson, Rivest and Stein, third edition, MIT Press, 2009. |
評量方式 (僅供參考) |
No. |
項目 |
百分比 |
說明 |
1. |
Midterm Exam |
14% |
|
2. |
Final Exam |
14% |
|
3. |
Assignments |
50% |
|
4. |
Final Project |
12% |
|
5. |
Course Participation |
10% |
|
|
針對學生困難提供學生調整方式 |
上課形式 |
提供學生彈性出席課程方式 |
作業繳交方式 |
延長作業繳交期限, 書面報告取代口頭報告, 口頭報告取代書面報告, 個人報告取代團體報告, 學生與授課老師協議改以其他形式呈現 |
考試形式 |
書面(口頭)報告取代考試 |
其他 |
由師生雙方議定 |
|
週次 |
日期 |
單元主題 |
第1週 |
2023/02/21 |
Chapter 1 - Introduction to the Course
Chapter 2 - Abstract Machine
Chapter 3 - Abstract and User-Defined Data Type |
第2週 |
2023/02/28 |
Peace Memorial Day |
第3週 |
2023/03/07 |
Chapter 4 - Testing, Error Handling and Exception
Chapter 5 - Array |
第4週 |
2023/03/14 |
Chapter 6 - Resource Management in C++
Chapter 7 - Program Efficiency and Asymptotic Notation |
第5週 |
2023/03/21 |
Chapter 8 - Recursion and Divide-and-Conquer
Chapter 9 - Sorting and Binary Search
Chapter 10 - List, Set, Multi-set and Dictionary
|
第6週 |
2023/03/28 |
Chapter 11 - Container, Iterator and Generic Algorithms
Chapter 12 - Linked List
Chapter 13 - Hash table |
第7週 |
2023/04/04 |
Sprint Break
|
第8週 |
2023/04/11 |
Midterm |
第9週 |
2023/04/18 |
Chapter 14 - Basics of Object Oriented Programming
Chapter 15 - Queue and Double-Ended Queue |
第10週 |
2023/04/25 |
Chapter 16 - Stack
Chapter 17 - Tree
Chapter 18 - Heap and Priority Queue |
第11週 |
2023/05/02 |
Chapter 19 - Binary Search Tree (BST)
Chapter 20 - Self-Balancing Binary Search Trees |
第12週 |
2023/05/09 |
Chapter 21 - Self-Balancing Search Trees (2-3 trees, B-trees)
Chapter 22 - Disjoint Sets |
第13週 |
2023/05/16 |
Chapter 23 - Graph |
第14週 |
2023/05/23 |
Chapter 24 - Process Data in External Storage
Chapter 25 - Basics of Multithreading Programming |
第15週 |
2023/05/30 |
Final Report (I) |
第16週 |
2023/06/06 |
Final Report (II) and Final Project Demo |
|